package 富婆梦.第一阶段.Java基础视频学习.线程的练习.作业1;


/**
 * 了解线程基本概念
 * 和简单的线程操作
 * 线程基本概念：线程是什么？主线程和子线程，守护线程
 * 1、线程：是让程序进行运算的工具人，例如main（）
 * 2、主线程：是启动程序的线程，程序运行的入口
 * 3、子线程：是手动创建的线程，优先级继承主线程（有用户线程和守护线程两种）
 * 4、用户线程：子线程的一种。只有两种方法能停止，一是运行中出现异常，二是，正常运行结束，自动停止
 * 5、守护线程：子线程的一种，随着用户线程的死亡而死亡
 * 线程操作：新建线程，多线程间数据的安全
 */
public class ThreadDemo {


    public static void main(String[] args) {

        printThreadInfo();
    }

    private static void printThreadInfo() {
        Thread currentThread = Thread.currentThread();
        System.out.println(currentThread.toString());

        Thread newThread = new Thread();
        //newThread.setDaemon(true);
        System.out.println(newThread.toString());

        Thread t = new Thread(new Runnable() {
            @Override
            public void run() {
                for (int i = 0; i < 10; i++) {
                    try {
                        Thread.sleep(30);
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                    System.out.println("子线程执行" + i + "次");
                }
            }
        });
        t.setDaemon(true);//这是一个守护线程
        t.start();

        for (int i = 0; i < 5; i++) {
            try {
                Thread.sleep(30);
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("主线程执行" + i + "次");
        }
    }


}
